How switching groups affects module caching

Allowing users to switch between groups has implications for how EMu performs module caching.

Module caching is a mechanism that allows modules to be hidden, rather than destroyed, when they are closed. If a new instance of the module is required, the hidden module may be used. Module caching provides significant speed improvements in situations in which modules are opened and closed on a regular basis. Module caching is configured on the Modules tab in the Options box:

In the example above, one instance of the Catalogue module is created when EMu is invoked. When a Catalogue module is closed, a maximum of two instances are maintained in the module cache.

With the introduction of support for multiple groups, the number of modules to cache now applies on a per group basis. Thus for the previous example, up to two instances of the Catalogue module will be cached per group.

When switching groups, the Change Groups box allows the user to indicate not only how open modules should be handled, but also how cached modules are dealt with. For example, if you choose to Close all modules, then all open modules are closed and all cached modules are flushed.